【Spring MVC】(五)页面在 WEB

您所在的位置:网站首页 web inf存放是什么文件 【Spring MVC】(五)页面在 WEB

【Spring MVC】(五)页面在 WEB

2023-03-12 18:03| 来源: 网络整理| 查看: 265

文章目录 一、SpringMVC 框架中页面在 WEB-INF 下的处理方式 1、页面为 JSP 的项目 2、如果项目由HTML页面构成,采用AJAX的方式获取数据 二、SpringMVC 参数校验 1、SpringMVC 参数校验概述 2、SpringMVC 参数校验步骤: 3、常见的校验规则注解 一、SpringMVC 框架中页面在 WEB-INF 下的处理方式 1、页面为 JSP 的项目

(1)由 JSP 页面构成的项目,如果想将 JSP 页面放到 WEB-INF 目录下,可以将核心控制器的地址匹配规则设置为*.do或者*.html(项目中不支持ajax请求)。但是注意,静态资源是不能放到 WEB-INF 之下的,例如 js、css、图片等。

(2)项目结构: 在这里插入图片描述 (3)核心控制器的地址匹配规则

springmvc org.springframework.web.servlet.DispatcherServlet springmvc *.do 复制代码

(4)一旦将 JSP 页面放到 WEB-INF 目录中,访问 JSP 页面就不能直接通过页面的地址直接进行访问,任何一个页面都需要提供一个业务控制器中的方法用转发的方式来访问页面。 为了便于转发 JSP,可以使用 SpringMVC 提供的视图解析器来配置前后缀。

复制代码

(5)对于业务控制器的分工来讲,这时分为两种情况。 ① 类似于首页,登录页面,注册页面这种公共的页面,我们可以专门定义一个 PageController 提供页面的访问方式。如下:

@Controller public class PageController { //访问index.jsp的地址映射 @RequestMapping("index") public String index() { return "index"; } //访问regist.jsp的地址映射 @RequestMapping("regist") public String regist() { return "regist"; } //访问login.jsp的地址映射 @RequestMapping("login") public String login() { return "login"; } } 复制代码

配置完成之后,按照以前 Springmvc 的配置扫描包,添加注解驱动后可以在浏览器中,分别通过index.do、login.do、register.do来访问首页、登录页面、注册页面等等。

② 对于其他的 JSP 访问,由于通常都和业务挂钩,所以自然需要我们根据业务的分类定义对应的业务控制器,在处理完业务之后转发到其他页面。 这时就要注意一个问题,由于login.do和register.do的请求地址在项目中已经使用了,是用来访问登录页面和注册页面的,那么切记我们在执行真正的登录和注册业务时就不能再直接使用login.do和register.do了。为了解决这个问题,我们可以将业务请求定义在对应的命名空间之下,例如我们可以将登录的请求地址定义为user/login.do,注册定义为user/register.do,这时我们就需要在控制器类上添加一个@RequestMapping("user")注解来定义命名空间。如下:

@Controller @RequestMapping("user") public class UsersController { //定义登录的请求地址映射 @RequestMapping("login") public String login() { return "index"; } } 复制代码

通过命名空间的配置,我们可以将 login 页面请求和 login 业务请求区分开来,但是加上命名空间所带来的一个新问题就是命名空间的加入会造成相对路径在使用时的障碍,所以 JSP 中推荐发送任何请求时都采用绝对路径的方式来访问,要访问绝对路径可以在 jsp 页面中首先动态获取项目的绝对路径,如下:

复制代码

然后在发送请求时统一采用绝对路径的方式来访问,如下:

超链接:


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3